﻿// KittyFeral PVE - HB Routine for FeralDruid 5.4 - By Neyia
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;
using Styx.Common;
using System.ComponentModel;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;
using Styx.TreeSharp;

namespace KittyFeral
{
    public class CRSettingsCat : Settings
    {
        public static readonly CRSettingsCat myPrefs = new CRSettingsCat();

        public CRSettingsCat()
            : base(
                Path.Combine(Utilities.AssemblyDirectory,
                    string.Format(@"Routines/Settings/Config/Pasterke/{0}/Druid/DruidSettingsKittyFeral-{1}.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name))
                )
        {
        }
        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Shapeshift when rooted")]
        [Description("")]
        public bool AutoShapeShift { get; set; }

        [Setting]
        [DefaultValue(3)]
        [Category("Settings")]
        [DisplayName("Adds to start Aoe")]
        public int StartAoe { get; set; }

        [Setting]
        [DefaultValue(7)]
        [Category("Settings")]
        [DisplayName("Adds to switch to Bear Form")]
        public int startBearAoe { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Virmen Potions")]
        [Description("Use Virmen Potions on Bossfights")]
        public bool useVirmenPotions { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Lifeblood")]
        [Description("Use Lifeblood on Bossfights")]
        public bool useLifeblood { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Berserking")]
        [Description("Use Berserking")]
        public bool useBerserking { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Incarnation")]
        [Description("Use Incarnation")]
        public bool useIncarnation { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Alchemy Flask")]
        [Description("Use Alchemy Flask. If set to true and you have Crystal of Insanity but on cooldown, he will use it.")]
        public bool AlchemyFlask { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Crystal of Insanity")]
        [Description("Use Crystal of Insanity")]
        public bool Crystal { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Force of Nature")]
        [Description("Use Force of Nature")]
        public bool ForceOfNature { get; set; }

        [Setting]
        [DefaultValue(55)]
        [Category("Settings")]
        [DisplayName("Healthstone HP %")]
        [Description("Use Healthstone below HP %")]
        public int useHealthstone { get; set; }

        [Setting]
        [DefaultValue(85)]
        [Category("Settings Out of Combat")]
        [DisplayName("Rejuvenation HP %")]
        [Description("Use Rejuvenation below HP %")]
        public int RejuvenationOOC { get; set; }

        [Setting]
        [DefaultValue(55)]
        [Category("Settings")]
        [DisplayName("Rejuvenation HP %")]
        [Description("Use Rejuvenation below HP % when playing Solo")]
        public int RejuvenationCombat { get; set; }

        [Setting]
        [DefaultValue(55)]
        [Category("Settings Out of Combat")]
        [DisplayName("Healing Touch HP %")]
        [Description("Use Healing Touch below HP %")]
        public int HealingTouchOOC { get; set; }

        [Setting]
        [DefaultValue(25)]
        [Category("Settings")]
        [DisplayName("Might of Ursoc HP %")]
        [Description("Use Might of Ursoc below HP %")]
        public int MightOfUrsoc { get; set; }

        [Setting]
        [DefaultValue(70)]
        [Category("Settings")]
        [DisplayName("Barkskin HP %")]
        [Description("Use Barkskin below HP %")]
        public int Barkskin { get; set; }

        [Setting]
        [DefaultValue(45)]
        [Category("Settings")]
        [DisplayName("Survival Instincts HP %")]
        [Description("Use Survival Instincts below HP %")]
        public int SurvivalInstincts { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Aquatic Form")]
        [Description("Use Aquatic Form when swimming")]
        public bool useAquaticForm { get; set; }

        /*[Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Glyph of Savagery")]
        [Description("Have Glyph of Savagery")]
        public bool HaveGlyphOfSavagery { get; set; }*/

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Glyph of Shred")]
        [Description("Have Glyph of Shred")]
        public bool HaveGlyphOfShred { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Shred")]
        [Description("Use Shred in rotation")]
        public bool useShred { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Prowl")]
        [Description("Use Prowl out of Combat")]
        public bool useProwl { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Prowl and Pounce")]
        [Description("Use Prowl and Pounce to Pull")]
        public bool useProwlPounce { get; set; }

        [Setting]
        [DefaultValue(30)]
        [Category("Settings")]
        [DisplayName("Cenarion Ward HP %")]
        [Description("Use Cenarion Ward below HP %")]
        public int CenarionWard { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Use Wild Charge")]
        [Description("")]
        public bool useWildCharge { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Settings")]
        [DisplayName("Auto Interrupt")]
        [Description("")]
        public bool AutoInterrupt { get; set; }

        // trinkets section
        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 1")]
        [DisplayName("Auto use")]
        [Description("Auto use trinket 1")]
        public bool AutoTrinket1 { get; set; }

        [Setting]
        [DefaultValue(0)]
        [Category("Trinket 1")]
        [DisplayName("Mana %")]
        [Description("Use trinket 1 below Mana %")]
        public int trinket1manapercent { get; set; }

        [Setting]
        [DefaultValue(0)]
        [Category("Trinket 1")]
        [DisplayName("HP %")]
        [Description("Use trinket 1 below HP %")]
        public int trinket1hppercent { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 1")]
        [DisplayName("Crowd Control")]
        [Description("Use trinket 1 when you are Crowd Controlled")]
        public bool trinket1crowdcontrolled { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 1")]
        [DisplayName("Dps boost")]
        [Description("Use trinket 1 as DPS boost")]
        public bool trinket1dpsboost { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 2")]
        [DisplayName("Auto use")]
        [Description("Auto use trinket 2")]
        public bool AutoTrinket2 { get; set; }

        [Setting]
        [DefaultValue(0)]
        [Category("Trinket 2")]
        [DisplayName("Mana %")]
        [Description("Use trinket 2 below Mana %")]
        public int trinket2manapercent { get; set; }

        [Setting]
        [DefaultValue(0)]
        [Category("Trinket 2")]
        [DisplayName("HP %")]
        [Description("Use trinket 2 below HP %")]
        public int trinket2hppercent { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 2")]
        [DisplayName("Crowd Control")]
        [Description("Use trinket2 when you are Crowd Controlled")]
        public bool trinket2crowdcontrolled { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Trinket 2")]
        [DisplayName("Dps boost")]
        [Description("Use trinket 2 as DPS boost")]
        public bool trinket2dpsboost { get; set; }

    }
}
